In an internal combustion engine such as a diesel engine and a gasoline engine, it is important to detect the ignition timing of fuel in a cylinder in order to optimally control a timing of injecting fuel into a cylinder. This ignition timing of fuel can be determined by comparing a cylinder pressure waveform when fuel is combusted with a cylinder pressure waveform when fuel is not combusted (referred to as a motoring waveform) (see JP-2001-55955A). Here, the motoring waveform can be calculated by the use of a well-known polytropic equation (PVn=constant, where P is cylinder pressure and V is cylinder volume).
Specifically, as shown in FIGS. 21A to 21C, a cylinder pressure at the time of combustion cycle is sensed by the cylinder sensor to find a cylinder waveform showing a change in the cylinder pressure to a change in a crank angle (FIG. 21A). Next, a motoring waveform is subtracted from the found cylinder pressure to find a differential waveform (FIG. 21B). This differential waveform shows a change in a combustion pressure developed by combustion in the cylinder, that is, a combustion pressure waveform. Then, a change point showing an increase in the combustion pressure is found from the combustion pressure waveform to detect an ignition timing Tburn from the change point (FIG. 21C).
By the way, the motoring waveform when fuel is not combusted is calculated (estimated) by the use of the above-described polytropic equation, but a coefficient used in this polytropic equation (polytropic exponent n) varies because of variations in internal combustion engines or varies because of variations in the operating state of the internal combustion engine (engine speed, boost pressure, cooling water temperature) and the like, for example, for each combustion cycle. For this reason, a method of providing the polytropic exponents n in a map has been conventionally used.
Further, to sense the above-described ignition timing Tburn of fuel, the correct crank position (angle) of the internal combustion engine needs to be found and hence a crank angle sensor is used for that purpose.
However, there is presented a problem that when a position where the crank angle sensor is mounted or variations in the engines cause an error in the value sensed by the crank angle sensor (crank angle), as shown in FIG. 22, the sensing accuracy of the ignition timing Tburn deteriorates.
In contrast to this, JP-11-210546A discloses a method of correcting the sensing error of a crank angle by the cylinder pressure of the internal combustion engine (referred to as cylinder pressure). That is, there is provided a method of correcting the crank angle in the following manner: as shown in FIG. 23, a point, at which a cylinder pressure sensed by the cylinder pressure sensor (referred to as motoring pressure) when fuel is not combusted in the internal combustion engine (combustion pressure by combustion in the cylinder is developed) becomes maximum, is assumed a top dead center (TDC) and the top dead center is compared with a TDC found from the crank angle sensor to correct the crank angle.
However, the method of sensing an ignition timing disclosed in JP-2001-55955 A presents the following problem.
That is, when a polytropic exponent “n” is found from a map, a change in the operating state of the internal combustion engine, in particular, variations in the internal combustion engines cannot be sufficiently corrected and hence the motoring waveform cannot be correctly estimated (calculated) to cause a sensing error in the ignition timing. Moreover, because the exponent of the polytropic equation needs to be calculated, a calculation load is made heavy. Hence, it is difficult for an ECU (electronic control unit) mounted on an actual vehicle to calculate the exponent of the polytropic equation at high speed for each combustion cycle. Therefore, it is difficult to employ the method described in JP-2001-55955 A.
On the other hand, according to the publicly known technology disclosed in JP-11-210546A, as shown in FIG. 24, in the vicinity of a maximum pressure point where the cylinder pressure becomes the maximum, a change in the cylinder pressure to a change in the crank angle becomes very moderate. Hence, when noises are caused in the sensing value of the cylinder pressure sensor by some factors, an error is caused in the sensing position of a TDC. In other words, when noises are not developed in the sensing value of the cylinder pressure sensor, a pressure maximum point is sensed in the vicinity of a crank angle θx in the drawing, whereas when noises are caused in the sensing value of the cylinder pressure sensor, for example, a pressure maximum point is sensed at a crank angle θy. Therefore, this presents a problem of causing an error in the TDC between θx and θy.